package info.itloser.learnkotlindemo.fragment

import android.content.Context
import androidx.lifecycle.ViewModel
import info.itloser.learnkotlindemo.R
import info.itloser.learnkotlindemo.basic.Constants
import info.itloser.learnkotlindemo.bean.BaseItem
import info.itloser.learnkotlindemo.ui.simple.BasicViewActivity
import info.itloser.learnkotlindemo.ui.simple.DialogsActivity
import info.itloser.learnkotlindemo.ui.simple.ListViewActivity
import info.itloser.learnkotlindemo.ui.simple.RecyclerViewActivity

class SimpleViewModel : ViewModel() {

    val baseItems: ArrayList<BaseItem> = ArrayList()

    /**
     * 初始化 BaseItems 基本数据
     */
    fun initBaseItems(context: Context) {

        //先清空数据 避免刷新时数据异常
        baseItems.clear()

        //基础控件1
        baseItems.add(
            BaseItem(
                Constants.icons[0],
                context.getString(R.string.base_item_0),
                context.getString(R.string.base_item_0_content),
                0,
                BasicViewActivity::class.java
            )
        )

        //Dialog相关
        baseItems.add(
            BaseItem(
                Constants.icons[1],
                context.getString(R.string.base_item_1),
                context.getString(R.string.base_item_1_content),
                0,
                DialogsActivity::class.java
            )
        )

        //ListView
        baseItems.add(
            BaseItem(
                Constants.icons[2],
                context.getString(R.string.base_item_2),
                context.getString(R.string.base_item_2_content),
                0,
                ListViewActivity::class.java
            )
        )

        //RecyclerView
        baseItems.add(
            BaseItem(
                Constants.icons[3],
                context.getString(R.string.base_item_3),
                context.getString(R.string.base_item_3_content),
                0,
                RecyclerViewActivity::class.java
            )
        )

    }

    /**
     * 当 Activity 或 Fragment 销毁时 会调用该方法 可以在这里进行一些数据清理操作
     */
    override fun onCleared() {
        super.onCleared()

        //可以在这里 清空数据
        baseItems.clear()


    }
}

